Two-dimensional computer-aided design and graphic arts programs (“graphics applications”), such as VISIO® and MICROSOFT OFFICE® (WORD®, POWER POINT®), by Microsoft Corporation, of Redmond, Wash., and ADOBE ILLUSTRATOR®, by Adobe Systems Incorporated, of San Jose, Calif., generally allow users to organize their designs and artwork into layers, analogous to sheets of acetate bound together. Each object on a layer occupies a stacking order such that objects can be on top of one another. Similarly, layers are also stacked on top of one another to form the final work. The final work is rendered as a two dimensional design to be viewed on a video display, printed, etc. To the extent that one or more graphical objects are layered over other graphical objects, some graphical objects may be partially or fully occluded in the rendered two dimensional design. Programs conventionally provide a mechanism to reorder object layering (e.g. via menu controls to “bring to front”, “send to back”, etc.) Some programs also provide a “layers palette”—a taxonomical tree of the layer identifiers—allowing the user to select the layer on which to draw, reorder the layers by dragging and dropping them with the mouse, and move art from one layer to another.
Prior art exists to make the concept and application of a “layers palette” somewhat less burdensome. Specifically, prior art provide the user with a visual representation—a thumbnail—of each graphic object in the design next to the corresponding layer in a taxonomy tree. The user can readily see which object in the drawing corresponds to a particular layer or row in the layers palette by recognizing the appearance of the object in the document through a thumbnail image. The user can place and manage layers inside layers, which removes some of the burden on a user when organizing complex documents.
Graphics applications have evolved to provide many different kinds of options to developers. Graphics applications allow developers not only the ability to create graphical objects, such as a depiction of a person, a table, an animal, but also the ability to place them into scenes. As used herein, the term “graphical object” is an object in a graphics application that includes features that can be manipulated by the graphics application. Often, graphical objects are depicted as being part of a scene. Generally, a scene is a rendered object that includes a background and graphical objects in front of the background.
Drag and drop is an important feature in graphics arts programs. A “drag and drop” operation refers to an operation currently most often performed with a mouse button but which can be performed with other user input devices with similar controls. In a mouse-based drag and drop operation the user selects a screen object by using a mouse to position a mouse indicator to point at a screen object, depresses a button on the mouse (“mouse button”), uses the mouse to move the selected screen object to a destination and releases the mouse button to drop the screen object on the destination. Typically, after releasing the mouse button, the screen object appears to have moved from where it was first located to the destination. The term “screen objects” refers generally to any object displayed on a video display, including graphical objects. Visual effects during drag and drop operation are intended to make an impression that the source object is being “dragged” across the screen to the destination object. These visual effects can include an image located under the mouse pointer.
The prior art has several shortcomings, in that controls for manipulation of stacking order are less than intuitive and in that visual displays during drag-and-drop and other manipulations of layered objects do not convey to the user sufficient information about the layering. These shortcomings impact the productivity of expert users of graphics applications and can severely limit the ability of users with little or no computer knowledge to use such applications.